



class Message<T> {
    private T message ;
    public T getMessage() {
        return message;
    }
    public void setMessage(T message) {
        this.message = message;
    }
}

public class Test {
    public static void main(String[] args) {
        Message<String> message = new Message<>();
        message.setMessage("北京欢迎你！");
        fun(message);

        Message<Integer> message2 = new Message<>();
        message2.setMessage(12);
        //fun(message2);//出现错误，只能接收String类型
        fun(message2);
    }

    //此时使用通配符"?"描述的是它可以接收任意类型，但是由于不确定类型，所以无法修改
    public static void fun(Message<?> temp){
        //temp.setMessage(99);//无法修改
        System.out.println(temp.getMessage());
    }
}
